Modern processing plants often have many different layers of optimization, which can include Model Predictive Control, Real-Time Optimization, Planning and Scheduling. The current invention relates to a tighter synchronization of these layers of optimization.
Model Predictive Control (MPC) are a class of algorithms that use a simplified dynamic model to predict the dependent variables (i.e., outputs) of a dynamical system with respect to changes in the process independent variables (i.e., inputs), and to move the process independent variables in a more optimal fashion. The steady-state targets for the independent variables are often determined by an economic objective function. Frequency of execution is on the order of minutes or seconds.
Real-time optimization (RTO) are a class of algorithms that use more rigorous process models and economics to find more complicated optima which are difficult or impossible to find using the simplified models from Model Predictive Control. Usually, the economics are updated more regularly than MPC. Frequency of execution is on the order of hours.
Scheduling programs use a model of the process facility to represent individual unit capabilities, capacities and constraints. An optimizer is used to calculate the timing and disposition of available feeds and products. Frequency of execution is on the order of days or weeks.
Planning programs use a model of a process facility, or even multiple processing facilities, to represent production capabilities and constraints. An optimizer is used to calculate optimal feedstock procurement, sales strategy and facilities' utilization. Frequency of execution is on the order of weeks or months.
In general, multiple layers of optimization are used in a hierarchical manner, with results from higher layers sent down as “targets” to lower layers (see FIG. 1). Sometimes shadow values (sensitivity of the economic objective function to changes in constraints) of a higher layer are used to help define the economic objective function(s) of lower layer(s). However, the programs in is different optimization layers are usually run by different people, sometimes in different organizations. The models, objective functions and optimization algorithms can be different, even though they contain common variables. Since higher-level optimization programs are executed at lower frequencies, the targets calculated by an upper layer will become further away from the true optimum when there are process changes or disturbances between upper layer execution cycles.
The present invention is a method to more tightly synchronize the objective functions of different layers of optimization. It is a general technique that allows different layers with different model types, objective functions, solution types or computing platforms to work toward the same objective. Its innovation is the ability to pass the objectives between layers, rather than just the targets. It can be done manually or automatically with a computer program.